Python

axios unsafe header "Host"

2019/03/22 18:21 4644 次阅读王梓
★ 打赏
✸ ✸ ✸

通过axios 从前台直接请求一个另外一个系统的后台接口,设置Header属性

{'Host': 'test.test.com'}

报错 unsafe header "Host"

查询百度得知是浏览器禁止设置部分headers属性:

w3c规定,不允许设置下面的请求头,为的是防止二次伪装请求,是出于安全考虑.
 Accept-Charset
  Accept-Encoding
  Connection
  Content-Length
  Cookie
  Cookie2
  Content-Transfer-Encoding
  Date
  Expect
  Host
  Keep-Alive
  Referer
  TE
  Trailer
  Transfer-Encoding
  Upgrade
  User-Agent
  Via

解决方法:

通过后台请求这个接口,前台再读取后台的接口得到所需数据。

def handle(self):
    url = 'http://test.test/query?from=1&count=10'
    req = urllib2.Request(url, headers={'Host': 'test.test.com'})
    data_rst = json.loads(urllib2.urlopen(req).read())['data']
    return data_rst

 

✸ ✸ ✸

📜 版权声明

本文作者:王梓 | 原文链接:https://www.bthlt.com/note/9232917-Pythonaxios unsafe header "Host"

出处:葫芦的运维日志 | 转载请注明出处并保留原文链接

📜 留言板

留言提交后需管理员审核通过才会显示